using ET;
using Marx;
using ProtoBuf;
using System.Collections.Generic;
namespace ET
{
//-----------------------------------------------
//-----------------------------------------------
	[ResponseType(nameof(SSPingResponse))]
	[Message(ServerOpcode.SSPingRequest)]
	[ProtoContract]
	public partial class SSPingRequest: Object, IRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

	}

	[Message(ServerOpcode.SSPingResponse)]
	[ProtoContract]
	public partial class SSPingResponse: Object, IResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

	}

	[Message(ServerOpcode.SSProcessReadyNotify)]
	[ProtoContract]
	public partial class SSProcessReadyNotify: Object, IMessage
	{
		[ProtoMember(1)]
		public int ProcessId { get; set; }

	}

	[Message(ServerOpcode.SSProcessCleanupNotify)]
	[ProtoContract]
	public partial class SSProcessCleanupNotify: Object, IMessage
	{
		[ProtoMember(1)]
		public int ProcessId { get; set; }

	}

	[ResponseType(nameof(SSRegLoginTokenResponse))]
	[Message(ServerOpcode.SSRegLoginTokenRequest)]
	[ProtoContract]
	public partial class SSRegLoginTokenRequest: Object, IActorRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public string Account { get; set; }

		[ProtoMember(2)]
		public long AccountId { get; set; }

		[ProtoMember(3)]
		public int GateAppId { get; set; }

		[ProtoMember(4)]
		public int LogicAppId { get; set; }

		[ProtoMember(5)]
		public List<long> Players = new List<long>();

	}

	[Message(ServerOpcode.SSRegLoginTokenResponse)]
	[ProtoContract]
	public partial class SSRegLoginTokenResponse: Object, IActorResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

		[ProtoMember(1)]
		public long Token { get; set; }

	}

	[Message(ServerOpcode.SSPlayerActorOfflineNotify)]
	[ProtoContract]
	public partial class SSPlayerActorOfflineNotify: Object, IActorLocationMessage
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long AccountId { get; set; }

		[ProtoMember(2)]
		public long PlayerId { get; set; }

	}

	[ResponseType(nameof(SSGetClientLocationResponse))]
	[Message(ServerOpcode.SSGetClientLocationRequest)]
	[ProtoContract]
	public partial class SSGetClientLocationRequest: Object, IActorLocationRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long AccountId { get; set; }

	}

	[Message(ServerOpcode.SSGetClientLocationResponse)]
	[ProtoContract]
	public partial class SSGetClientLocationResponse: Object, IActorLocationResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

		[ProtoMember(1)]
		public int GateAppId { get; set; }

		[ProtoMember(2)]
		public int LogicAppId { get; set; }

	}

//-----------------------------------------------
//AlertMessage
//-----------------------------------------------
	[ResponseType(nameof(SSAlertNoteResponse))]
	[Message(ServerOpcode.SSAlertNoteRequest)]
	[ProtoContract]
	public partial class SSAlertNoteRequest: Object, IActorLocationRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long Id { get; set; }

		[ProtoMember(2)]
		public int Type { get; set; }

		[ProtoMember(3)]
		public string Message { get; set; }

		[ProtoMember(4)]
		public int DuringTime { get; set; }

		[ProtoMember(5)]
		public long Time { get; set; }

		[ProtoMember(6)]
		public PlayerSnapProto From { get; set; }

	}

	[Message(ServerOpcode.SSAlertNoteResponse)]
	[ProtoContract]
	public partial class SSAlertNoteResponse: Object, IActorLocationResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

	}

	[ResponseType(nameof(SSReplyAlertResponse))]
	[Message(ServerOpcode.SSReplyAlertRequest)]
	[ProtoContract]
	public partial class SSReplyAlertRequest: Object, IActorLocationRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long Id { get; set; }

		[ProtoMember(2)]
		public bool Agree { get; set; }

	}

	[Message(ServerOpcode.SSReplyAlertResponse)]
	[ProtoContract]
	public partial class SSReplyAlertResponse: Object, IActorLocationResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

	}

//-----------------------------------------------
// Login
//-----------------------------------------------
	[ResponseType(nameof(SSCreatePlayerResponse))]
	[Message(ServerOpcode.SSCreatePlayerRequest)]
	[ProtoContract]
	public partial class SSCreatePlayerRequest: Object, IActorRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public string Account { get; set; }

		[ProtoMember(2)]
		public long AccountId { get; set; }

		[ProtoMember(3)]
		public long PlayerId { get; set; }

		[ProtoMember(4)]
		public long AgentActor { get; set; }

	}

	[Message(ServerOpcode.SSCreatePlayerResponse)]
	[ProtoContract]
	public partial class SSCreatePlayerResponse: Object, IActorResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

		[ProtoMember(1)]
		public long PlayerActor { get; set; }

	}

	[ResponseType(nameof(SSDestroyPlayerResponse))]
	[Message(ServerOpcode.SSDestroyPlayerRequest)]
	[ProtoContract]
	public partial class SSDestroyPlayerRequest: Object, IActorRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

	}

	[Message(ServerOpcode.SSDestroyPlayerResponse)]
	[ProtoContract]
	public partial class SSDestroyPlayerResponse: Object, IActorResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

	}

//-----------------------------------------------
// Logic
//-----------------------------------------------
	[Message(ServerOpcode.SSPlayerPropertyChangedNotify)]
	[ProtoContract]
	public partial class SSPlayerPropertyChangedNotify: Object, IActorLocationMessage
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public PlayerSnapProto Snap { get; set; }

	}

	[Message(ServerOpcode.SSPlayerOnlineStateChangedNotify)]
	[ProtoContract]
	public partial class SSPlayerOnlineStateChangedNotify: Object, IActorLocationMessage
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long PlayerId { get; set; }

		[ProtoMember(2)]
		public long AccountId { get; set; }

		[ProtoMember(3)]
		public int State { get; set; }

		[ProtoMember(4)]
		public int LogicId { get; set; }

	}

	[ResponseType(nameof(SSGetPlayerSnapResponse))]
	[Message(ServerOpcode.SSGetPlayerSnapRequest)]
	[ProtoContract]
	public partial class SSGetPlayerSnapRequest: Object, IActorLocationRequest
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(1)]
		public long PlayerId { get; set; }

	}

	[Message(ServerOpcode.SSGetPlayerSnapResponse)]
	[ProtoContract]
	public partial class SSGetPlayerSnapResponse: Object, IActorLocationResponse
	{
		[ProtoMember(90)]
		public int RpcId { get; set; }

		[ProtoMember(91)]
		public int Error { get; set; }

		[ProtoMember(92)]
		public string Message { get; set; }

		[ProtoMember(1)]
		public PlayerSnapProto Snap { get; set; }

	}

	[Message(ServerOpcode.SSSyncSnapBaseNotify)]
	[ProtoContract]
	public partial class SSSyncSnapBaseNotify: Object, IMessage
	{
		[ProtoMember(1)]
		public List<PlayerSnapProto> Snaps = new List<PlayerSnapProto>();

	}

}
